Today most computer users interact with the machine by way of a graphical user interface which, by exploiting the computer's visual display and intuitive input devices such as the mouse, mediates access to the operating system, application programs, and stored data. The standard approach to the design of the user interface has relied on a simple visual metaphor in which data files are contained in folders organized within a hierarchically-structured file system tree. The user interface provides controls that permit the user to navigate through the file system tree in order to locate and act upon data. Although such systems are easier to use than the command-line shell interfaces that preceded them, they generally have not provided a greater degree of abstraction from the underlying physical storage of data than was available in earlier systems.
The real-world familiarity of the file/folder model of storage contributed to its acceptance and popularity among computer users, but such user interfaces were also successful because users typically stored a relatively small number of data files on their machines. The ease with which computer systems can now be used, coupled with the availability of massive amounts of inexpensive disk storage, have to some degree made the standard data storage interface a victim of its own success. Computers are now being used to store large quantities of personal data in a variety of different formats for use with many different applications. It is not uncommon for a user to have hundreds or thousands of text documents, photographs, audio files, and other data records stored across multiple hard disks, shared networks and other storage media. Given such a development, drawbacks to the conventional folder tree storage model have become evident to computer users.
For the present-day user, the conventional storage model is undesirably and inflexibly one-dimensional. Items of data exist in one location and relate to other files in one way, by their relative position within the hierarchical folder tree, which ignores the many logical relationships files may have to one another. In previous versions of Microsoft® Windows®, files are associated with a limited number of properties over which the user has limited control, and those properties are accessible through a control that is difficult to locate and use. In other systems file metadata may be limited to the file name and the user's informal knowledge of the file's type. Such limitations have made it difficult for users to organize their data in new ways based on the content and use of the data. As a result, the growth in the amount of data stored by users has made searching for data less efficient and more cumbersome.
Particular applications have offered domain-specific solutions to the problem of user data management. Two examples involve applications for storing and organizing digital photograph files. The Digital Image Library in Microsoft® Digital Image Suite 9.0 includes a “Keyword Painter” control that enables the user to easily organize and subsequently locate images stored in disparate locations throughout the file system. The user clicks on identifying keywords of the user's own choosing and then clicks on thumbnail images of pictures to which the selected keywords are to be assigned. The user can now filter the view of the library of pictures by particular keywords. Adobe Photoshop Album 2.0 permits the user to associate content-descriptive tags with pictures by drag-drop actions on thumbnail images. The user can then quickly search the collection of pictures by subject matter using one or more tags.
Another example is the Grand Central e-mail interface, a project of Microsoft Research. Hierarchical properties are used to categorize e-mail messages. An arbitrary number of categories can be assigned by way of the user interface. The categories facilitate searching for messages and the organization of messages into conversational threads.
Disclosed features of the Microsoft® Windows® Code-Named “Longhorn” platform point to a more comprehensive solution. A storage subsystem, WinFS, relies on an extensible scheme of metadata properties to enable the user to search for, organize and share data. The basic unit of data container is the item, which is associated with multiple properties set to specific values. Items are organized by properties most relevant to the user at a particular time. Powerful querying capabilities over the store of items are provided. Users can thus find data more quickly and can organize and operate upon data more efficiently.
Prior to the present invention, however, there has been no general mechanism for metadata assignment and metadata-based navigation comparable in ease and generality of use to such conventional storage system interfaces as the file system Explorer tree of previous versions of Microsoft® Windows®, which permit the user to navigate to a folder and to modify its contents in intuitive ways such as by dragging and dropping with the mouse.